package com.request.strategy;

import com.alibaba.fastjson.JSONObject;
import org.springframework.beans.factory.config.BeanPostProcessor;

import java.lang.annotation.Annotation;

/**
 * @author yuanqinglong
 * @since 2021/10/18 11:32
 */
public interface RequestParamTypeProcess extends BeanPostProcessor {


    /**
     * 参数类型
     *
     * @return {@link Class}<{@link ?}>
     */
    Class<?> paramType();


    /**
     * 过程
     * 处理
     *
     * @param requestData    数据
     * @param annotationType 注释类型
     * @param args           参数值
     */
    void process(JSONObject requestData , Annotation annotationType, Object args);


}
